#登录页面操作
#对象库层：寻找元素 1.获得元素路径2.通过不同的方法放入基类中就可以了
#操作层：执行操作
#业务层：调用操作层 实现业务

from base.mp.base import Base1,base_handle1
from selenium.webdriver.common.by import By



class dui(Base1):
    def __init__(self):
        self.username=By.ID,"username"
        self.password=By.ID,"password"
        self.login_btn=By.CSS_SELECTOR,"btn"

        super().__init__()#继承功能 直接调用即可

    def find_username(self):#找属于username的元素 通过基类找
        #获取驱动 那么我们需要注意一点我们的驱动在基类中可以直接获取 所以继承即可
        return self.wait1(self.username)#找到username元素

    def find_password(self):#找属于username的元素 通过基类找
        #获取驱动 那么我们需要注意一点我们的驱动在基类中可以直接获取 所以继承即可
        return self.wait1(self.password)#找到username元素

    def find_login_btn(self):#找属于username的元素 通过基类找
        #获取驱动 那么我们需要注意一点我们的驱动在基类中可以直接获取 所以继承即可
        return self.wait1(self.login_btn)#找到username元素
class handle11(base_handle1):
    def __init__(self):

        super().__init__()
    def handle_username(self,username):#创建执行执行username的方法
        #先创建对象

        self.do_username=dui().find_username()#找到元素 放入基类中
        return self.input_text(self.do_username,username)

    def handle_password(self,password):  # 创建执行执行username的方法
        # 先创建对象

        self.do_password = dui().find_username()  # 找到元素 放入基类中
        return self.input_text(self.do_password, password)

    def handle_login_btn(self):  # 创建执行执行username的方法
        # 先创建对象

        self.do_login_btn = dui().find_username()  # 找到元素 放入基类中
        return self.do_login_btn.clcik()

class YEWU:#业务层
    def show_username(self,username,password):
        self.username1=handle11()#创建对象
        self.password1=handle11()#创建对象
        self.btn1=handle11()#创建对象
        self.username1.handle_username(username)#执行输入用户名
        self.password1.handle_password(password)#执行输入
        self.btn1.handle_login_btn()#执行输入密码